urldecode二次编码绕过

urldecode二次编码绕过

50

http://123.206.87.240:9009/10.php

<?php if(eregi("hackerDJ",$_GET[id])) { echo("

not allowed!

");

exit();

}

$_GET[id] = urldecode($_GET[id]);

if($_GET[id] == "hackerDJ")

{

echo "

Access granted!

";

echo "

flag

";

}

?>

1.php代码审计

代码审计得需要传入一个 hackerDJ

但是又不能直接传需要简单编码一下绕过eregi函数

查表得 %44 = D

构造 hacker%44J过不了

于是把%也重新构造一下

相当于2次编码 得 hacker%2544J

得到

Access granted!

flag{bugku__daimasj-1t2}

参考 eregi()

eregi()函数在一个字符串搜索指定的模式的字符串。搜索不区分大小写。Eregi()可以特别有用的检查有效性字符串,如密码。 

可选的输入参数规则包含一个数组的所有匹配表达式,他们被正则表达式的括号分组。

返回值

如果匹配成功返回true,否则,则返回false

参考 html url编码

URL 编码形式表示的 ASCII 字符(十六进制格式)。

十六进制格式用于在浏览器和插件中显示非标准的字母和字符。

By 吾空 发布            此页面修订于: 2019-05-23 17:43:15

results matching ""

    No results matching ""